<HTML><HEAD><TITLE>all_disjoint(?Lsets)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(conjunto)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>all_disjoint(?Lsets)</H1>
Lsets is a list of set domain variables which are constrained to be
pairwise disjoint.


<DL>
<DT><EM>?Lsets</EM></DT>
<DD>List of set domain variables.
</DD>
</DL>
<H2>Description</H2>
   Lsets is a list of set domain variables which are constrained to be
   pairwise disjoint.  Once the unconsistent domain bounds have been
   updated.  The predicate is a programming abstraction standing for
   conjunction of disjointness constraints.  The generated disjointness
   constraints are delayed.  They are activated each time a lower bound of
   one set domain involed is modified.

<P>

<H3>Fail Conditions</H3>
   Fails if some elements of Lsets are not set variables or if all the set
   variables can not be pairwise disjoint.


<H3>Resatisfiable</H3>
   No.
<H2>Examples</H2>
<PRE>
S `:: {}.. {1,3,5}, S1 `:: {1} .. {1,3,4}, S2 `::{3,4}..{3,4,5},
all_disjoint([S,S1,S2]).

S = S{{} .. {5}}
S1 = {1}
S2 = S2{{3, 4} .. {3, 4, 5}}

Delayed goals:
        S{{} .. {5}} dis_s S2{{3, 4} .. {3, 4, 5}}
yes.
</PRE>
<H2>See Also</H2>
<A HREF="../../lib/conjunto/BNN-2.html">`:: / 2</A>, <A HREF="../../lib/conjunto/BLG-2.html">`<> / 2</A>, <A HREF="../../lib/conjunto/BE-2.html">`= / 2</A>, <A HREF="../../lib/conjunto/all_union-2.html">all_union / 2</A>
</BODY></HTML>
